Results for spec@ext_transform_feedback@structs array-struct-array-elem run-no-fs interface

Overview

Result: fail

Back to summary

Details

Detail Value
Returncode 1
Time 0:00:00.253610
Stdout
Output v[0].a[0] element 0: expected 1, got -858993460
Output v[0].a[1] element 0: expected 11, got -858993460
Output v[0].b[0] element 0: expected 2, got -858993460
Output v[0].b[1] element 0: expected 12, got -858993460
Output v[0].b[2] element 0: expected 22, got -858993460
Output v[1].a[0] element 0: expected 101, got -858993460
Output v[1].a[1] element 0: expected 111, got -858993460
Output v[1].b[0] element 0: expected 102, got -858993460
Output v[1].b[1] element 0: expected 112, got -858993460
Output v[1].b[2] element 0: expected 122, got -858993460
Output v[2].a[0] element 0: expected 201, got -858993460
Output v[2].a[1] element 0: expected 211, got -858993460
Output v[2].b[0] element 0: expected 202, got -858993460
Output v[2].b[1] element 0: expected 212, got -858993460
Output v[2].b[2] element 0: expected 222, got -858993460
Output v[3].a[0] element 0: expected 301, got -858993460
Output v[3].a[1] element 0: expected 311, got -858993460
Output v[3].b[0] element 0: expected 302, got -858993460
Output v[3].b[1] element 0: expected 312, got -858993460
Output v[3].b[2] element 0: expected 322, got -858993460
Vertex shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk
#define VARYING(NAME) blk.NAME
struct S { int[2] a; int[3] b; };
in vec4 pos;
DECLARE_VARYING(out, S[4], v);
void main()
{
  gl_Position = pos;
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 3; j++) {
      if (j < 2) VARYING(v)[i].a[j] = 100 * i + 10 * j + 1;
      if (j < 3) VARYING(v)[i].b[j] = 100 * i + 10 * j + 2;
    }
  }
}

Fragment shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) DIR Blk { flat TYPE NAME; } blk
#define VARYING(NAME) blk.NAME
struct S { int[2] a; int[3] b; };
DECLARE_VARYING(in, S[4], v);
out vec4 color;
void main()
{
  bool pass = true;
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 3; j++) {
      if (j < 2 && VARYING(v)[i].a[j] != 100 * i + 10 * j + 1) pass = false;
      if (j < 3 && VARYING(v)[i].b[j] != 100 * i + 10 * j + 2) pass = false;
    }
  }
  if (pass)
    color = vec4(0.0, 1.0, 0.0, 1.0);
  else
    color = vec4(1.0, 0.0, 0.0, 1.0);
}

Stderr
SWR detected AVX2
vert shader  0x7f6016abc000
frag shader  0x7f6016aba000
so shader    0x7f6016ab8000
fetch shader 0x7f6016ab6000
SWR destroy screen!
Environment
PIGLIT_SOURCE_DIR="/home/ilia/src/piglit" PIGLIT_PLATFORM="mixed_glx_egl"
Command /home/ilia/src/piglit/bin/ext_transform_feedback-structs array-struct-array-elem run-no-fs interface -auto -fbo
dmesg

        

Back to summary